package org.xqyy.eval.service;

import org.springframework.stereotype.Service;
import org.xqyy.eval.model.TDept;
import org.xqyy.eval.model.TDeptMapper;
import org.xqyy.eval.model.TestPaper;
import java.util.List;


/**
 * 科室评价对照服务
 */
@Service
public interface IDeptMapperService {

    /**
     * 添加科室评价对照信息
     * @param tDeptMapper
     * @return
     */
    public  boolean addDeptMapper(TDeptMapper tDeptMapper);

    /**
     * 添加科室评价对照信息
     * @param dept
     * @param evalDepts 可以评价的科室集合
     * @return
     */
    public  boolean addDeptMapper(TDept dept, List<TDept> evalDepts);

    /**
     * 查询该科室应当评价的科室集合
     * @param dept
     * @return
     */
    public List<String> findEvalDeptList(TDept dept);

    /**
     * 根据科室ID查询该科室可以评价的已经绑定了试卷的科室
     * @param dept
     * @return
     */
    public List<TDept> findEvalDeptListByDeptid(TDept dept);

    /**
     * 修改科室评价关系
     * @param dept 科室信息
     * @param evalDepts 可以评价的科室集合
     * @return
     */
    public boolean updateDeptMapper(TDept dept,List<TDept> evalDepts);

    /**
     * 拷贝科室评价关系
     * @param copydept 参考科室
     * @param copyToDepts 进行评价绑定的科室
     * @return
     */
    public boolean copyDeptMapper(TDept copydept,List<TDept> copyToDepts);

    /**
     * 绑定评价科室应当使用的试卷
     * @param dept 评价科室
     * @param evalDepts 被评价科室列表
     * @param paperId 试卷id
     * @return
     */
    public boolean updateDeptMapperPaper(TDept dept,List<TDept> evalDepts,Integer paperId);

    /**
     * 根据科室id查询该科室应当评价的科室及其关联的
     * 调查问卷和问题
     * @param tDept 要查询的科室信息
     * @return
     */
    public List<TDept> selectEvalDeptPaperByDeptId(TDept tDept);
    /**
     * 查询科室本月带填报问卷
     * @param deptCode 科室code
     * @return
     */
    public  List<TestPaper> selectDeptUpcomingPaper(String deptCode);

    /**
     * 根据科室id查询待评价科室名称字符
     * @param deptCode 科室code
     * @param paperId  试卷id
     * @return
     */
    public  String findEvalDeptNameByDeptId(String deptCode,Integer paperId);

    /**
     * 根据科室id查询待评价科室名称字符
     * @param deptId 科室id
     * @param paperId  试卷id
     * @return
     */
    public  List<TDept> findEvalDeptListByDeptId(String deptId,Integer paperId);
}
